<!DOCTYPE html>
<html lang='en'>
<head>
    <meta charset='UTF-8'>
     <meta name='viewport' content='width=device-width, initial-scale=1.0'>
     <title>函数</title>
     <link rel='stylesheet' href='//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/styles/default.min.css'>
     <script src='//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/highlight.min.js'></script>
</head>
<body>
     <pre>
        <code style='max-height: 400px;'>
            // 函数 创建了函数时候设置了形参变量但是没有传递实参 那么默认undefined
            function fn (n,b){
                console.log(n,b);
            }
            console.log(fn.arguments)
            fn(10,20)
    
            // return 
            function func(a,b){
                if(a+b > 10) {
                    return '传递的参数之和大于10'
                }
                return a + b
            }
            console.log(func(10,20));
            console.log(func(2,3));
    
    
            // 自执行函数
            ~function(){
                console.log('自执行函数');
            }()
    
            // 匿名函数 + 函数柯里化
            function fns(num){
                return function (num2){
                    console.log('num + num2 = ',num + num2); //3
                    return function (num3) {
                        console.log('num + num2 + num3 = ',num + num2 + num3); // 5
                    }
                }
            }
    
            // 柯里化函数 ==> 高阶函数
            fns(1)(2)(2)         
        </code>
     </pre>
     <script> hljs.highlightAll(); </script>
     <script>

        // 函数 创建了函数时候设置了形参变量但是没有传递实参 那么默认undefined
        function fn (n,b){
            console.log(n,b);
        }
        console.log(fn.arguments)
        fn(10,20)

        // return 
        function func(a,b){
            if(a+b > 10) {
                return '传递的参数之和大于10'
            }
            return a + b
        }
        console.log(func(10,20));
        console.log(func(2,3));


        // 自执行函数
        ~function(){
            console.log('自执行函数');
        }()

        // 匿名函数 + 函数柯里化
        function fns(num){
            return function (num2){
                console.log('num + num2 = ',num + num2); //3
                return function (num3) {
                    console.log('num + num2 + num3 = ',num + num2 + num3); // 5
                }
            }
        }

        // 柯里化函数 ==> 高阶函数
        fns(1)(2)(2)
     </script>
</body>
</html>